package com.yidu.dao;

import java.util.List;
import java.util.Map;

import com.yidu.action.vo.StatisticsVo;
import com.yidu.domain.ListenPurchaseDetail;
import com.yidu.domain.ListenQualityTesting;
/**
 * @title 采购订单明细Dao类 
 * @author 刘武
 * @dateTime 2019年1月14日
 */
public interface ListenPurchaseDetailMapper {
    int deleteByPrimaryKey(String pdId);

    int insert(ListenPurchaseDetail record);

    int insertSelective(ListenPurchaseDetail record);

    ListenPurchaseDetail selectByPrimaryKey(String pdId);

    int updateByPrimaryKeySelective(ListenPurchaseDetail record);

    int updateByPrimaryKey(ListenPurchaseDetail record);
    /**
     * 显示采购订单详情对象
     * @param purchaseDetail 采购订单详情对象
     * @return 采购详情集合
     */
	List<ListenPurchaseDetail> findAll(ListenPurchaseDetail purchaseDetail);
	/**
	 * 查询总行数
	 * @param purchaseDetail 采购详情对象
	 * @return int类型 行数
	 */
	int findRows(ListenPurchaseDetail purchaseDetail);
	
	/**
	 * @title 查询材料采购明细
	 * @param Map
	 * @return List
	 * @author 江宇 
	 * @dateTime 2018年12月10日
	 * @versions 1.0
	 */
	List<ListenPurchaseDetail> materialDetailFindAll(Map<String, Object> map);
	
	/**
	 * @title 查询材料采购明细行数
	 * @param Map
	 * @return int
	 * @author 江宇
	 * @dateTime 2018年12月10日
	 * @versions 1.0
	 */
	int materialDetailFindRows(Map<String, Object> map);
	/**
	 * 删除乐器订单详情的方法
	 * @param purchaseDetail 订单详情对象
	 * @return int类型
	 */
	int delete(ListenPurchaseDetail purchaseDetail);
	/**
	 * 通过业务id查询库存数量
	 * @param vocationalWorkIds 转过来的业务id
	 * @return int 库存数量
	 */
	int findByVocationalWorkId(String vocationalWorkIds);
	/**
	 * 通过订单id查询订单详情
	 * @param purchaseId 采购id
	 * @return 采购订单详情集合
	 */
	List<ListenPurchaseDetail> findDetail(String purchaseId);
	/**
	 * 查询订单详情
	 * @param map map对象
	 * @return 采购订单详情集合
	 */
	List<ListenPurchaseDetail> findDetailByMap(Map<String, Object> map);
	/**
	 * 查询显示立即质检
	 * @param map map对象
	 * @return 采购订单详情集合
	 */
	List<ListenPurchaseDetail> findQualityAll(Map<String, Object> map);
	/**
	 * 显示立即质检的行数
	 * @param map map对象
	 * @return int 行数
	 */
	int findQualityRows(Map<String, Object> map);

	/**
	 * 查询采购订单详情
	 * @param map map对象
	 * @return 采购订单详情集合
	 */
	List<ListenPurchaseDetail> findPurchaseDetail(Map<String, Object> map);
	
	 /**
     * @title 查询总公司材料月季采购金额
     * @param Map
     * @return List
     * @author 江宇
     * @dateTime 2019年1月3日
     * @versions 1.0
     */
    List<StatisticsVo> selectMonthsPriceStatistics(Map<String, Object> map);
}